#include "Ficha.h"

CFicha::CFicha():IDColor(0),Heading(FICHA_HEADING_LEFT)
{
	CColor color;
	color.r = 0.0;
	color.g = 0.0;
	color.b = 1.0;
	ActiveColors.push_back(color);
	color.r = 1.0;
	color.g = 0.0;
	color.b = 0.0;
	ActiveColors.push_back(color);
	color.r = 0.0;
	color.g = 1.0;
	color.b = 0.0;
	ActiveColors.push_back(color);
}

CFicha::~CFicha()
{

}

void CFicha::SetFichaPos(u32 nx,u32 ny)
{
    x = nx;
    y = ny;
}

void CFicha::ChangeIDColor(u32 newidcolor)
{
    IDColor = newidcolor;
    FichaGraph.GetSpriteNode()->SetColor(ActiveColors[IDColor]);
}

void CFicha::SetFichaHeading(FichaHeading newHeading)
{
	Heading = newHeading;

	switch (Heading)
	{
		case FICHA_HEADING_UP:
		{
			FichaGraph.GetSpriteNode()->SetRotationZ(FICHA_UP_ROTATION);
		}
		break;

		case FICHA_HEADING_DOWN:
		{
			FichaGraph.GetSpriteNode()->SetRotationZ(FICHA_DOWN_ROTATION);
		}
		break;

		case FICHA_HEADING_LEFT:
		{
			FichaGraph.GetSpriteNode()->SetRotationZ(FICHA_LEFT_ROTATION);
		}
		break;

		case FICHA_HEADING_RIGHT:
		{
			FichaGraph.GetSpriteNode()->SetRotationZ(FICHA_RIGHT_ROTATION);
		}
		break;
	}

	pLogDebug << "New ficha heading: " << Heading << endl;
//    SceneManager->DrawDebugNode(0);
}
